The Internet today consists of a collection of interconnected administrative domains. Each domain is under the control of one or more administrators who decide what hardware equipment to employ and what control software to run. This localized control of the administrative domains requires the coexistence of a number of disparate, heterogeneous systems. The basic communication protocol through which different domains communicate is IP (Internet Protocol). Each Internet data communication is translated into the delivery of a sequence of varying sized IP protocol packets that travel across one or more administrative domains until they reach the final destination.
Another aspect is that IP routing between compute systems applies at the physical network layer. Physical networks change as components change. In order to hide those changes from applications running on compute systems and communicating with one another, using addresses of physical locations, physical computer systems where applications reside, should be avoided in communication between applications on different computer systems. The reason is that physical locations may become subject to change when changes in the physical network environment occur. The proposed overlay network layer instead uses communication paths established between communicating applications instead of physical (IP) addresses in the underlying network.
The invention consists of the method how those communication paths are automatically established during initial deployment of applications of one or more computer systems, and a message routing system that is based on the established communication paths. Communication paths remain constant throughout the existence of an application independently of changes eventually occurring in the underlying physical networks.
Reconfiguration of applications regarding their communication facilities are avoided that otherwise (without using the proposed overlay network) would be required. The invention can also be applied in environments where applications are not directly exist on physical compute systems, but on virtual compute systems, which are compute systems that are comprised of virtualized resources.
In IP, the sender of the data only specifies the destination address, whereas the network (the collection of hardware and software systems distributed through several administrative domains) chooses a forwarding path through which to route the IP packets. Routing protocols cooperate across different administrative domains, and through a variety of different software and hardware techniques, to monitor the presence and/or the state of connections in the Internet. Because of the great size and heterogeneous nature of the Internet, and the complexity of the routing task, these routing protocols are typically minimalistic and tend to focus on guarantee of connection and minimizing routing hops rather than optimizing performance. Overlay networks have been used to overcome these challenges.
An overlay network of alternate routing mechanisms may be typically constructed on top of the existing Internet routing mechanisms to find and exploit available resources. An overlay routing mechanism is typically completely transparent and separate from the Internet routing protocols and is preferably deployed throughout some small, but widely distributed, portion of the Internet as a distributed user application.
Typically, an overlay network consists of nodes intended communication on a network such as the Internet. These nodes are connected to the underlying network via transmission links. Overlay network nodes utilize existing network transmission lines and infrastructure, via network links to create a virtual topology.
However, the prior art overlay network nodes typically communicate using existing, established Internet protocols such as IP addresses and are very sensitive to changes by the underlying network and applications.